home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Diskmonitors / AZap / AZapEnglish.doc < prev    next >
Text File  |  1996-09-26  |  21KB  |  534 lines

  1.  
  2.  
  3.                   AZap - User's Manual
  4.  
  5.  
  6.  
  7.  
  8.  
  9. AboutThisDoc
  10.  
  11.       This manual describes release 2.40 of the utility AZap. This program
  12.   is (c)1992-1994 by Denis GOUNELLE, any commercial usage or  selling  without
  13.   author's written authorization is  strictly  forbidden.  You  can  copy  and
  14.   spread this program under the following conditions:
  15.  
  16.     - all the files are provided
  17.     - the files are not modified in any way
  18.     - you don't charge more than $6 for copy fee
  19.  
  20.       In spite of several tests, no warranty is made  that  there  are  no
  21.   errors in AZap. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no event will I be
  22.   liable for any damage, direct or indirect, resulting of the use of AZap.
  23.  
  24. Introduction
  25.  
  26.       AZap is a "new generation" binary editor able to edit files,  memory
  27.   or devices like hard disks. It can open several windows at  the  same  time,
  28.   and while this program cannot be considered as a tool to help you to recover
  29.   a disk, it has a lot of useful functions (print block,  fill  block,  search
  30.   string, etc...).
  31.  
  32.                     CAUTION:
  33.  
  34.       It is absolutly forbidden to use this program  to  modify  a
  35.       copyright notice, or any other illegal usage.  Unexperienced
  36.       users should be aware that this program  may  destroy  their
  37.       programs, or cause severe data loss. 
  38.  
  39.       Criticisms and suggestions will always be welcomed. Write to:
  40.  
  41.                    M. GOUNELLE Denis
  42.                   27, rue Jules GUESDE
  43.                 45400 FLEURY-LES-AUBRAIS
  44.                      FRANCE
  45.  
  46.       You can also send a message to  the  following  Internet  address  :
  47.   "gounelle@alphanet.ch". Note that this mailbox is not mine, so  please  send
  48.   only short messages. As I don't have direct access to  the  messages,  don't
  49.   expect an answer before a dozen of days.
  50.  
  51.       Thanks to Pierre  Ardichvili,  Reza  Elghazi,  Yves  Perrenoud,  and
  52.   Jean-Yves Proux for beta-testing and suggestions.
  53.  
  54. Installation
  55.  
  56.       This program requires "reqtools.library" (version 2.0c or higher) to
  57.   run,  so  you  must  copy  it  in  your  "LIBS:"   directory   before.   The
  58.   "reqtools.library" is (c)1990-1993 by Nico FRANCOIS.
  59.       AZap is now localized, so it  can  adapt  itself  to  your  favorite
  60.   language. All you have to do is to copy  the  good  catalog  file  into  the
  61.   directory corresponding to your  language.  For  exemple,  if  your  default
  62.   language   is    french,    copy    the    "français.catalog"    into    the
  63.   "SYS:Locale/Catalogs/Français" directory, under the name "AZap.catalog."
  64.  
  65.       The dutch catalog was translated by Paul WETERINGS.
  66.       The italian catalog was translated by Giuseppe GHIBO
  67.       The spanish catalog was translated by Raul Fernandez GARCIA
  68.       The swedish catalog was translated by Bernt AHLBACK
  69.       The norvegian catalog was translated by Jorn INNSET
  70.  
  71. Running_from_CLI
  72.  
  73.       This program detach itself from CLI window. It accepts the following
  74.   arguments:
  75.  
  76.       WBENCH
  77.       Use Workbench screen instead of custom screen.
  78.  
  79.       PUBSCREEN name
  80.       Use the given public screen instead of  custom  screen.  If  the
  81.       public screen can't be located, the  Workbench  screen  will  be
  82.       used.
  83.  
  84.       LACE
  85.       Use an interlaced custom screen. This option is ignored  if  the
  86.       WBENCH option is specified too.
  87.  
  88.       FONT name
  89.       Use the specified font instead of internal 6x9 font. "name" must
  90.       be given as <font name><Y size>, like "courier9". AZap will  use
  91.       this font only if it isn't proportionnal and  if  it  isn't  too
  92.       large to display a 512 bytes block.
  93.  
  94.       MEMORY
  95.       Open a window to edit memory.
  96.  
  97.       DEVICE name
  98.       Open a window to edit specified device. Don't forget  the  colon
  99.       (":") at the end of the name.
  100.  
  101.   Any other argument is supposed to be the name of a file  to  edit.  You  can
  102.   specify as many names as you want, but only the first eight will be used. Of
  103.   course, you can mix file names, MEMORY  and  DEVICE  options.  Last,  if  no
  104.   argument is specified, a file requester appears (see "The_Project_menu")  so
  105.   you can select the file to edit.
  106.  
  107. Running_from_Workbench
  108.  
  109.       You can specify the following options in the "TOOL  TYPES"  of  AZap
  110.   icon:
  111.  
  112.       OPTIONS=WBENCH or OPTIONS=LACE
  113.       See  the   description   of   WBENCH   and   LACE   options   in
  114.       "Running_from_CLI" section.
  115.  
  116.       PUBSCREEN=name
  117.       See   above   the   description   of   PUBSCREEN    option    in
  118.       "Running_from_CLI" section
  119.  
  120.       FONT=name
  121.       See above the description of FONT option  in  "Running_from_CLI"
  122.       section
  123.  
  124.   You can give an icon as an argument, by the habitual method. This  icon  may
  125.   be a file or a volume icon. Otherwise, a file  requester  will  appear  (see
  126.   "The_Project_menu") so you can select the file to edit.
  127.  
  128. The_edit_window
  129.  
  130.       The  left  part  of  the  display  shows  the  block   contents   in
  131.   hexadecimal, by sets of 4 bytes. The right part shows the  same  information
  132.   but as characters.  Bytes  corresponding  to  non-printable  characters  are
  133.   replaced by a point (".").
  134.       At  the  bottom  right  of  the   window   are   displayed   several
  135.   informations: the block address (relative to beginning, in hex), the  offset
  136.   in the block (in hex), the block number (relative to beginnin, in  decimal),
  137.   and the block type. This last information is not significant unless you edit
  138.   a DOS device. When block contents has been modified but not written, a  star
  139.   ("*") is displayed at the right of the first line. When  block  checksum  is
  140.   valid, a "V" character is displayed at the right of the  second  line  (this
  141.   information is not significant unless you edit a DOS device).
  142.  
  143.       When the window is opened, the first  block  is  displayed  and  the
  144.   cursor is on the first  character  of  the  right  part.  The  corresponding
  145.   position in the left part is showed by a display in a different  color.  You
  146.   can move the cursor whith the arrow  keys.  To  switch  between  a  part  to
  147.   another (left to right or right to left) just press the tabulation key.  You
  148.   can also move anywhere you want using the mouse. To modify data,  just  type
  149.   in the new datas over the old ones. In the left part, only "0" to  "9",  "a"
  150.   to "f" and "A" to "F" characters are allowed. AZap keep in mind the 32  last
  151.   changes: as long as you have not moved  to  another  block,  nor  saved  the
  152.   changes, you can undo them with the escape key. The following keys are  also
  153.   accepted:
  154.  
  155.       ctrl-up         go to first block
  156.       ctrl-down       go to last block
  157.       ctrl-left       go to previous block
  158.       ctrl-right      do to next block
  159.       shift-up        go to first line
  160.       shift-down      go to last line
  161.       shift-left      go to first byte of the line
  162.       shift-right     go to last byte of the line
  163.  
  164.       The buttons at the bottom of the window allow (from left  to  right)
  165.   to go to the first block, to go to the previous block, to write the changes,
  166.   to go to the next block, to go to the last block,  and  to  go  to  a  given
  167.   address. In this last case, a  requester  appears,  so  you  can  enter  the
  168.   address to go. Use the following syntax:
  169.  
  170.       nbr     jump at address 'nbr'
  171.       §nbr    jump at block 'nbr'
  172.       @nbr    jump at address found by reading the long word at address
  173.           'nbr' (when editing memory only)
  174.       #nbr    jump to the memory area number 'nbr' (when editing memory
  175.           only)
  176.  
  177.   The address  may  be  an  expression,  whose  syntax  is  described  in  the
  178.   "Expressions_syntax" section.
  179.       You may also use the proportionnal gadget,  at  the  bottom  of  the
  180.   window, to change your position. Be aware that, in all circumstances, if you
  181.   move to another block without writing the changes made to the current block,
  182.   all changes will be lost !
  183.  
  184.       All edit windows are declared as "AppWindow", this means that if you
  185.   drop a icon on an edit window, a new window will be opened for  editing  the
  186.   corresponding file or volume.
  187.  
  188.       To close the edit window, just click on the  close  gadget.  If  the
  189.   block has been modified but not saved, you will be asked  for  confirmation.
  190.   The program stops when the last edit window is closed.
  191.  
  192. The_Project_menu
  193.  
  194.       Open file...
  195.       Opens a new window to edit a file. A file requester will appear,
  196.       so you can select the file to edit.  A  memory  window  will  be
  197.       opened if you select "RAM:", or a device window if you select  a
  198.       device (like "DH0:")
  199.  
  200.       Open memory
  201.       Opens a new window to edit memory.
  202.  
  203.       Open device
  204.       Use the sub-menu items to select the device to edit. AZap  opens
  205.       a new window to edit this device.
  206.  
  207.       Help...
  208.       Displays cursor keys usage with CTRL and SHIFT.
  209.  
  210.       Palette...
  211.       A palette requester appears, so you can modify screen's  colors.
  212.  
  213.       Screen mode...
  214.       A screen mode requester  appears,  so  you  can  modify  default
  215.       screen mode. If AZap has opened it's own custom screen, you will
  216.       be asked if you want it to be  re-opened  in  the  new  selected
  217.       mode.
  218.  
  219.       Save prefs
  220.       Save configuration: palette, screen mode and font.  The  options
  221.       of the current window are also saved  as  default  options.  The
  222.       configuration file is "S:AZap.config" under system release  1.3,
  223.       or "ENVARC:AZap.Config" under system release 2.0 or greater.
  224.  
  225.       About...
  226.       Displays informations about the program.
  227.  
  228.       Quit
  229.       Ends program execution. You will be asked for confirmation.
  230.  
  231. The_Edit_menu
  232.  
  233.       Undo
  234.       AZap keep in mind the 32 last changes. As long as you  have  not
  235.       moved to another block, nor saved the changes, you can undo them
  236.       with this function.
  237.  
  238.       Undo all
  239.       Read current block to undo all changes not saved yet.
  240.  
  241.       Redo
  242.       After you have undoed some changes, you can get them  back  with
  243.       this function.
  244.  
  245.       Jump back
  246.       Each time you move to  another  block  with  the  "go  to  first
  247.       block", "go to last block" or "GOTO" buttons, the  old  position
  248.       is kept in memory. This command allows  to  jump  back  to  this
  249.       position. The old position  is  also  kept  when  you  use  this
  250.       command, so you can easely toggle between two blocks.
  251.  
  252.       Next block
  253.       When editing a DOS device, this command allows you to go  either
  254.       to the first data block (if the current block is a file  header)
  255.       or to the next block (if the current block is a data block of  a
  256.       OFS disk).
  257.  
  258.       Parent block
  259.       When editing a DOS device and the current block is a file header
  260.       or a directory, this command allows  you  to  go  the  directory
  261.       block corresponding to the parent  directory  of  this  file  or
  262.       directory.
  263.  
  264.       Root block
  265.       When editing a DOS device, this command allows you to go to  the
  266.       root block of this device.
  267.  
  268.       Header block
  269.       When editing a DOS device, this command allows you to go to  the
  270.       next header block.
  271.  
  272.       When you use one of these four commands, the old position is kept in
  273.       memory for the "Jump back" command.
  274.  
  275. The_Tools_menu
  276.  
  277.       Infos
  278.       Displays  some   informations   about   the   file/memory/device
  279.       currently edited.
  280.  
  281.       Examine
  282.       When editing a DOS device, and if the current block is a  header
  283.       block, this command  displays  what  would  have  displayed  the
  284.       "Info" command on the corresponding file or directory.
  285.  
  286.       Print...
  287.       Prints a number of blocks starting from  the  current  block.  A
  288.       requester appears so you can specify another  output  file  that
  289.       "PRT:" (the printer). Then AZap  will  ask  you  the  number  of
  290.       blocks to print.
  291.  
  292.       Convert
  293.       A new window is opened, with four gadgets  that  enable  you  to
  294.       make convertions between binary, decimal, hexadecimal and ASCII.
  295.       Any value entered, either an expression  for  "BIN",  "DEC"  and
  296.       "HEX" gadgets, or  a  character  string  for  "ASC"  gadget,  is
  297.       converted in the other units.  You  don't  have  to  close  this
  298.       window to continue editing.
  299.  
  300.       Save block
  301.       Save a number of blocks starting from the current block. A  file
  302.       requester appears so you can specify the file where to save  the
  303.       blocks. Then AZap will ask you the number of blocks to save.
  304.  
  305.       Fill block...
  306.       Sets all bytes of  the  current  block  to  the  same  value.  A
  307.       requester appears so you can enter a value: either 'c'  to  fill
  308.       with the "c" character or a number (ASCII code of the  character
  309.       to use, prefixed by "0x" for an hexadecimal value).
  310.  
  311. The_Search_menu
  312.  
  313.       Search...
  314.       Searchs for a string or a hexadecimal value. A requester appears
  315.       so you can enter the value to  search  :  either  a  hexadecimal
  316.       value (prefixed by "0x", take care to enter an  even  number  of
  317.       digits) or a character string (ASCII search). To search a string
  318.       beginning with "0x", put all the string between double quotes.
  319.  
  320.       Search text... Searchs for a string of  printable  characters.  This
  321.       may be useful, for exemple, to locate a text area.  A  requester
  322.       appears so you can enter the minimal length  to  search  for.  A
  323.       value lower than 4 is generally not very interesting.
  324.  
  325.       Search next
  326.       Continue last search starting from current position.
  327.  
  328.       For all searchs, AZap move to the position  where  an  occurence  is
  329.       found, or the screen flashes.  The  previous  position  is  kept  in
  330.       memory for the "Jump back" function (see  "The_Edit_menu"  section).
  331.       You can abort a search, and AZap will find  a  string  laid  on  two
  332.       consecutives blocks.
  333.  
  334.       Search file
  335.       Goes strait to the header of a given file or directory.  A  file
  336.       requester appears, so you can select the file.  AZap  will  then
  337.       open a new device window for the corresponding device, and  show
  338.       the header block of the file.
  339.  
  340. The_Options_menu
  341.  
  342.       Take care that options are "locale" to a window : if you change  the
  343.   options of a window, the others windows won't be affected. When you  open  a
  344.   new window, it takes the options of the current window.
  345.  
  346.       Checksum
  347.       Specifies when AZap must update block checksum (used  only  when
  348.       editing a DOS device). Choices are : "always" (update for  *ALL*
  349.       blocks), "Ask if" (you will be asked for), "Boot  blocks"  (only
  350.       for 0 and 1 blocks) and "Automatic" (only if checksum was  valid
  351.       when reading block).
  352.  
  353.       Auto save
  354.       AZap will automatically save any modified block as soon  as  you
  355.       will ask to move to another block.
  356.  
  357.       Read only
  358.       You won't be allowed to modified data.
  359.  
  360.       lwr = UPR
  361.       Specifies if lower case and upper  case  characters  are  to  be
  362.       distinguished when making an ASCII search.
  363.  
  364.       Backup copy
  365.       Specifies if AZap must make a backup copy of  edited  files.  If
  366.       selected, at the next write attempt a requester will  appear  so
  367.       you can enter the name of the copy to  create.  AZap  will  then
  368.       make a copy of the file before recording  your  changes.  If  an
  369.       error occurs during the copy, the requester will  come  back  so
  370.       you can specify another name.  If  you  click  on  the  "Cancel"
  371.       gadget, no copy will be made but your changes will  be  recorded
  372.       anyway.
  373.  
  374. Expressions_syntax
  375.  
  376.       AZap is able to compute integer expressions. Default base is decimal
  377.   for addresses ("GOTO" gadget) or the  base  corresponding  to  the  selected
  378.   gadget in the convertion window. Base may be specified  with  "%"  (binary),
  379.   "#" (decimal), and "$" or "0x" (hexa) before  any  number.  Valid  operators
  380.   are :
  381.  
  382.       +       addition
  383.       -       subtraction
  384.       |       logical "or"
  385.       &       logical "and"
  386.       *       multiplication
  387.       /       integral division
  388.       %       remainder of integral division
  389.       <       shift left
  390.       >       shift right
  391.  
  392.   By default, "*", "/", "%", "<" and ">" operators have  higher  priority  but
  393.   you may use parenthesis. If there is a syntax error in  an  expression,  its
  394.   result will be set to -1.
  395.  
  396. Important_notes
  397.  
  398.       When starting to run, AZap reads the ExecBase structure to know  you
  399.   memory configuration. Only memory areas defined in memory  management  lists
  400.   may be  edited.  Except  when  searching,  these  areas  are  considered  as
  401.   adjacent, and AZap will automatically jump from  an  area  to  another.  The
  402.   "Infos" command (see "The_Tools_menu" section) displays the addresses of all
  403.   areas. Reading and  writing  memory  is  done  after  having  disabled  task
  404.   switching, in order to avoid conflicts.
  405.  
  406.       AZap will try to recognize the type of the  device  you  edit.  Some
  407.   operations  ("next  block",   "parent   block"   and   "root   block",   see
  408.   "The_Edit_menu" section) are disabled for non AmigaDOS  devices,  but  don't
  409.   forget to check the "Checksum"  option.  AZap  knows  about  OFS  (Old  File
  410.   System) and FFS (Fast File System) and handle both file systems.
  411.  
  412. History
  413.  
  414.       AZap is written almost fully in C language, and was developped on an
  415.   Amiga 3000 UNIX-1 (10 Mb RAM, internal HD  disk  drive,  two  internal  hard
  416.   disks of 100 Mb and 160Mb, external SyQuest drive of 88 Mb, external  floppy
  417.   disk drive, 1960 monitor and Star LC24-10 printer) connected by a null-modem
  418.   cable to an A500 with 1 Mb RAM.
  419.  
  420.   v1.00   14-Oct-92, 36084 bytes (Fish #759)
  421.       o First released version
  422.  
  423.   v1.01   16-Oct-92, 36084 bytes
  424.       o Bug fixed: didn't worked if default public screen  was  less  than
  425.         648 pixels wide.
  426.  
  427.   v1.10   15-Nov-92, 36960 bytes
  428.       o Added "Header block" and "Examine" functions
  429.       o After a file request, open a memory window if "RAM:" was selected,
  430.         or a device window if a device name was selected (e.g. "DH0:")
  431.  
  432.   v1.11   21-Nov-92, 36976 bytes
  433.       o Bug fixed: the "§n" form in the "GOTO" function wasn't  understood
  434.  
  435.   v1.20   25-Dec-92, 40000 bytes
  436.       o Compiled with SAS/C 6.1
  437.       o Added "Search file" function
  438.       o The requester for the "GOTO"  function  displays  the  last  value
  439.         entered
  440.       o If a string search fails, displays a message "foo not found"
  441.       o Devices can be named by their logical names (in command  line  and
  442.         file request, except RAM:)
  443.  
  444.   v1.30   02-Jan-93, 40612 bytes
  445.       o Added "Save block" function
  446.       o The "Print..." function ask for the number of blocks to print
  447.       o The "Infos" functions displays disk type (OFS/FFS/NDOS)
  448.       o Search functions put together in a new menu
  449.       o A few bugs fixed in default font and WorkBench screen handling
  450.  
  451.   v2.00   07-Feb-93, 42116 bytes
  452.       o Compiled with SAS/C 6.2
  453.       o Fully localized
  454.  
  455.   v2.01   21-Feb-93, 41768 bytes
  456.       o Better handling of file requester
  457.       o A few bugs fixed in window options handling
  458.  
  459.   v2.02   13-Mar-93, 42264 bytes
  460.       o No more gurus with a 68000 (some pointeurs were not aligned)
  461.       o Detach itself from CLI again
  462.       o The "About" window has a closing gadget
  463.  
  464.   v2.03   15-Apr-93, 42292 bytes
  465.       o A few bug fixed in expression computation
  466.       o Bug fixed: the "modified block" flag was  not  always  reset  when
  467.         moving to another block
  468.  
  469.   v2.04   24-Apr-93, 42468 bytes
  470.       o Show files pathname in window's title and "info" window
  471.       o Recognize all OS 3.0 filesystems
  472.       o A few bugs fixed in menus handling
  473.  
  474.   v2.05   10-May-93, 42604 bytes
  475.       o Several bugs fixed in search function (hex and string)
  476.  
  477.   v2.06   18-May-93, 42692 bytes
  478.       o A few bugs fixed in conversion function (bin/dec/hex/asc)
  479.  
  480.   v2.07   03-Jul-93, 43548 bytes
  481.       o Compiled with SAS/C 6.3
  482.  
  483.   v2.08   29-Jul-93, 43580 bytes
  484.       o If a read error occurs on a floppy  or  fixed  disk,  screen  will
  485.         flash and the sector will be displayed with all bytes set to zero.
  486.  
  487.   v2.10   15-Sep-93, 44200 bytes
  488.       o Added a proportionnal gadget at the bottom of the window
  489.       o Uses the new versions  of  GetDefaultTextFont()  and  OuvreEcran()
  490.         functions
  491.  
  492.   v2.11   22-Sep-93, 44184 bytes
  493.       o Very funny bug fixed in searches: the display wasn't updated  when
  494.         the search failed. So, as the cursor moves, the hex bytes under it
  495.         changed. Also, in some cases, you could move the cursor below  the
  496.         window and down into the gadgets and such.
  497.  
  498.   v2.12   02-Oct-93, 44216 bytes
  499.       o Several bug fixed in proportionnal gadget handling: divide by zero
  500.         when file size was  smaller  than  512  bytes,  knob  filling  all
  501.         container when file size was 2 blocks, etc...
  502.  
  503.   v2.13   30-Oct-93, 44332 bytes
  504.       o You can give an icon as an argument when calling the program  from
  505.         the Workbench
  506.  
  507.   v2.14   26-Dec-93, 42776 bytes
  508.       o Handle stressed letters (they are now  considered  as  "printable"
  509.         characters)
  510.       o The "search next" function starts after the last string found
  511.       o Compiled with SAS/C 6.50
  512.  
  513.   v2.20   17-Apr-94, 43168 bytes
  514.       o Add edit  windows  are  now  "AppWindow",  so  they  support  icon
  515.         dropping
  516.       o Compiled with SAS/C 6.51
  517.  
  518.   v2.21   21-May-94, 43168 bytes
  519.       o Slight changes to interface, so the program can (at last  !)  work
  520.         on a 640x200 screen
  521.  
  522.   v2.30   05-Jun-94, 44424 bytes
  523.       o Added PUBSCREEN argument
  524.       o Added "Screen mode" menu item
  525.       o Under system release 2.0 or greater, the "AZap.Config" file is now
  526.         in ENVARC:
  527.  
  528.   v2.40   29-Sep-94, 43396 bytes
  529.       o Added "Redo" function, menu items "Undo" and "Redo"
  530.       o Stop the drive's motor after each I/O
  531.       o Bug fixed: the binary conversion didn't worked
  532.  
  533.  
  534.